#include <REGX52.h>
#include <INTRINS.h>
#include "Delay.h"

sbit Buzzer_BZ = P2^5;

/**
  * @brief		软件延时500us
  * @parm		无
  * @retval		无
  */
void Delay500us()		//@11.0592MHz
{
	unsigned char i;

	_nop_();
	i = 227;
	while (--i);
}


/**
  * @brief		控制蜂鸣器发声时长
  * @parm		mx:发声的时长
  * @retval		无
  */
void Buzzer_Time(unsigned int mx)
{
	unsigned int i;
	//若传入mx:500，预期是响500ms
	//但一次for循环耗时0.5ms，若要响500ms，for循环次数要加倍
	for(i = 0; i < 2 * mx; ++i)
	{
		Buzzer_BZ = !Buzzer_BZ;
		Delay500us();//每2ms响一次，1ms对应频率为1KHz，2ms对应频率为500Hz
	}
}